1. Field of the Invention
Apparatuses and methods consistent with the present invention relate to management of certificates and, more particularly, to managing a plurality of certificates in a low-performance device.
2. Description of the Related Art
In general, the implementation of a security function between devices starts with the issuance and verification of a certificate. Most recent devices, such as a wireless phone, a personal computer, a Moving Picture Experts Group (MPEG) Audio Layer-3 (MP3) player, and a security memory storage device, use certificates. The devices exchange the certificates and verify whether the certificates are valid before any further communication with the other devices takes place.
In this case, the certificates the validity of which is verified are limited to certificates issued by the same root certificate authority. The reason for this is that it is meaningless to verify the validity between certificates issued by different root certificate authorities.
In general, in order to verify the validity of a certificate, it is required that the certificate have the electronic signature of the root certificate authority. In this case, a certificate path may exist between the certificate of a root certificate authority and a device certificate (a final certificate). The certificate path begins at the certificate of the root certificate authority and ends with the final certificate. It is assumed that the certificate of the root certificate authority is valid.
FIG. 1 is a diagram illustrating a related art certificate path.
Referring to FIG. 1, the certificate of a root certificate authority signs the certificate content of a lower certificate authority using its private key, and issues the certificate of the lower certificate authority. The lower certificate authority may issue the certificate of its lower certificate authority in the same manner. A final certificate authority on an issuance path issues a final certificate.
In more detail, the certificate content (or certificate content and a public key A) of a root certificate authority A is electronically signed using the private key of the root certificate authority A, which is paired with the public key A of the root certificate authority A. The certificate of the root certificate authority A is issued with a signed result added thereto.
Thereafter, the certificate content (or certificate content and a public key B) of a lower certificate authority B is electronically signed using the private key of the root certificate authority A. The certificate of the lower certificate authority B is issued with a signed result added thereto. In this case, the public key A may be included in the certificate of the lower certificate authority B.
The certificate content (or certificate content and a public key C) of a lower certificate authority C is electronically signed using the private key of the lower certificate authority B. The certificate of the lower certificate authority C is issued with a signing result added thereto. The public key B may be included in the certificate of the lower certificate authority C.
The electronic signing is repeated in this manner until the issuance of the final certificate. In this case, the public key of an upper certificate authority may be included in the final certificate.
In general, a device has the final certificate based on a certificate path such as its device certificate. The verification of the final certificate between devices is performed as follows.
First, the final certificate is verified using the public key C of the certificate of the certificate authority C that issued the final certificate. The certificate of the certificate authority C, which verifies the final certificate, is also verified using the public key B of the certificate of the upper certificate authority B that issued it. In the same manner, the certificate of the certificate authority B, which issued the certificate of the certificate authority C, is verified using the public key A of the certificate of the root certificate authority A, which issued the certificate of the certificate authority B. In this manner, the final certificate of the device is verified using the certificate of the root certificate authority A.
Recently, the requirement for one device to have a plurality of certificates issued by a plurality of root certificate authorities has arisen. One example of such a device is a personal computer having both Open Mobile Alliance DRM (OMA DRM) and Microsoft DRM.
The OMA DRM and Microsoft DRM operate root certificate authorities independent of each other. As a result, the personal computer must have both a certificate issued by a certificate authority for the OMA DRM and a certificate issued by a certificate authority for Microsoft DRM. In this case, a structure for performing verification in the personal computer is shown in FIG. 2.
Referring to FIG. 2, a personal computer 200 includes a verification module 210, a high performance file system 220, and a plurality of certificates 230.
The personal computer 200 has the plurality of certificates 230 issued by a plurality of certificate authorities. In this case, the personal computer 200 has a high performance file system 220 that can operate independently, therefore a write operation and a read operation can be conveniently conducted regardless of the number of certificates.
The certificate write operation of the personal computer 200 can be performed according to the following procedure.
Operation 1) The verification module 210 transfers a certificate to be written to the high performance file system 220, along with a file name, in which information about the identification of an issuance authority is used.
Operation 2) The high performance file system 220 stores the corresponding certificate in a storage area using the received file name.
Furthermore, the certificate read operation of the personal computer 200 can be performed according to the following procedure.
Operation 1) The verification module 210 transfers the file name of a certificate to read to the high performance file system 220 using information about the identification of an issuance authority.
Operation 2) The high performance file system 220 reads a certificate stored using the received file name.
Operation 3) The high performance file system 220 transfers the read certificate to the verification module 210.
FIG. 3 illustrates the construction of a low-performance device 320, rather than a high performance device such as the personal computer 200 shown in FIG. 2. The low-performance device 320, such as a memory card, has a low-performance file system 327 that can be operated only by a host device 310. The conventional low-performance device 320 generally has only a single certificate issued by a single certificate authority.
A certificate read operation in the low-performance device 320 may be performed according to the following procedure.
Operation 1) The verification module 315 of the host device 310 requests the low-performance device 320 to read the certificate of the low-performance device 320.
Operation 2) The verification module 325 of the low-performance device 320 requests the low-performance file system 327 to read the certificate.
Operation 3) The low-performance file system 327 of the low-performance device 320 directly accesses the memory address in which a certificate 329 is stored and reads the certificate.
At the time of accessing the certificate in the above-described procedure, the requirements for the certificate issuance authority are not included.
According to the above-described prior art, a device having a plurality of certificates issued by a plurality of certificate authorities must be implemented as shown in FIG. 2. Implementing the operation in the low-performance device shown in FIG. 3 increases the resource consumption of the low-performance device, thus resulting in an increase in cost in view of the performance of the file system of the low-performance device.
In other words, a low-performance device having limited resources, such as a security memory storage device, cannot access data stored therein without the help of a host device. As a result, it is difficult to implement a low-performance device having a plurality of certificates without using a method of performing queries regarding certificates using an external device.
Accordingly, a method of managing a plurality of certificates issued by a plurality of certificate authorities even in a low-performance device is required.